#include "Processbar.h"
#include <string.h>
#include <unistd.h>

//void Fortest()
//{
//  printf("this is for test\n");
//  printf("this is for test\n");
//}

#define Length 101
#define Style '#'
const char * label = "|/-\\";

// version1
//void Process()
//{
//  char bar[Length];
//  memset(bar,'\0',sizeof(bar));
//  int cnt = 0;
//  int len =strlen(label);
//  while(cnt <= 100)
//  {
//    printf("[%-100s][%3d%%][%c]\r",bar,cnt,label[cnt%len]);
//    fflush(stdout);   
//    bar[cnt++]=Style;
//    usleep(20000);
//  }
//  printf("\n");
//}

//version2
void Process(double total,double current)
{
  char bar[Length];
  memset(bar,'\0',sizeof(bar));
  int cnt = 0;
  int len =strlen(label);

  double rate = current*100.0/total;
  int loop_count = (int)rate;
  while(cnt <= loop_count)
  {
    bar[cnt++]=Style;
  }
  printf("[%-100s][%.1lf%%][%c]\r",bar,rate,label[cnt%len]);
  fflush(stdout);   
}

